home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / lib / udev / rules.d / 95-devkit-disks.rules < prev    next >
Text File  |  2009-10-23  |  6KB  |  157 lines

  1. # Do not edit this file, it will be overwritten on updates
  2. #
  3.  
  4. # we only care about block devices
  5. ACTION!="add|change", GOTO="devkit_disks_end"
  6. SUBSYSTEM!="block", GOTO="devkit_disks_end"
  7. KERNEL=="loop*|ram*", GOTO="devkit_disks_end"
  8.  
  9. ##############################################################################################################
  10.  
  11. # Probe for partition tables; this really should be part of udev
  12. #
  13.  
  14. # skip rules for inappropriate block devices
  15. KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*", GOTO="probe_parttable_end"
  16.  
  17. # never access non-cdrom removable ide devices, the drivers are causing event loops on open()
  18. KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="probe_parttable_end"
  19. KERNEL=="hd*[0-9]", ATTR{removable}=="1", GOTO="probe_parttable_end"
  20.  
  21. # don't scan for partition tables on empty discs
  22. KERNEL=="sr*", ENV{ID_CDROM_MEDIA}!="?*", GOTO="probe_parttable_end"
  23.  
  24. # scan for partition tables both on whole-disk and partitions
  25. #
  26. IMPORT{program}="devkit-disks-part-id $tempnode"
  27.  
  28. LABEL="probe_parttable_end"
  29.  
  30. ##############################################################################################################
  31.  
  32. # pick up device-mapper data; this REALLY should be done by rules installed
  33. # by the device-mapper package
  34. #
  35. KERNEL!="dm-*", GOTO="device_mapper_end"
  36. ACTION!="add|change", GOTO="device_mapper_end"
  37.  
  38. IMPORT{program}="devkit-disks-dm-export %M %m"
  39. ENV{DKD_DM_NAME}!="?*", GOTO="device_mapper_end"
  40.  
  41. ENV{DKD_DM_STATE}=="SUSPENDED", GOTO="device_mapper_end"
  42. ENV{DKD_DM_TARGET_TYPES}=="|*error*", GOTO="device_mapper_end"
  43.  
  44. # avoid probing if it has already been done earlier
  45. #
  46. ENV{ID_FS_USAGE}!="", GOTO="device_mapper_end"
  47. IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
  48.  
  49. LABEL="device_mapper_end"
  50.  
  51. ##############################################################################################################
  52.  
  53. # pick up data from MD components; this REALLY should be done by rules installed
  54. # by mdadm or the kernel package
  55. #
  56. ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_end"
  57.  
  58. # avoid probing if it has already been done earlier
  59. #
  60. ENV{MD_LEVEL}!="", GOTO="md_end"
  61. IMPORT{program}="/sbin/mdadm --examine --export $tempnode"
  62.  
  63. LABEL="md_end"
  64.  
  65. ##############################################################################################################
  66.  
  67. # Check if a disk is ATA SMART capable
  68. #
  69.  
  70. # USB ATA enclosures with a SAT layer
  71. KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="devkit-disks-probe-ata-smart $tempnode"
  72.  
  73. # ATA disks driven by libata
  74. KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", IMPORT{program}="devkit-disks-probe-ata-smart $tempnode"
  75.  
  76. # ATA disks connected via SAS (not driven by libata)
  77. KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", IMPORT{program}="devkit-disks-probe-ata-smart $tempnode"
  78.  
  79. ##############################################################################################################
  80.  
  81. # Example rule for tagging a device with a specific media type. Where and
  82. # how to store this database needs some thought.
  83. #
  84. ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
  85. ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_MS}="1"
  86. ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SM}="1"
  87. ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0248", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_SD}="1"
  88.  
  89. ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_CF}="1"
  90. ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:1", ENV{ID_DRIVE_FLASH_SM}="1"
  91. ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:2", ENV{ID_DRIVE_FLASH_SD}="1"
  92. ATTRS{idVendor}=="05e3", ATTRS{idProduct}=="070e", ENV{ID_INSTANCE}=="0:3", ENV{ID_DRIVE_FLASH_MS}="1"
  93.  
  94. # Generic music player
  95. #
  96. ENV{ID_MEDIA_PLAYER}=="?*", ENV{DKD_PRESENTATION_ICON_NAME}="multimedia-player"
  97.  
  98. # Apple iPod Video
  99. #
  100. ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1209", ENV{DKD_PRESENTATION_ICON_NAME}="multimedia-player-ipod-white"
  101.  
  102. ##############################################################################################################
  103.  
  104. # PC floppy drives
  105. #
  106. KERNEL=="fd*", ENV{ID_DRIVE_FLOPPY}="1"
  107.  
  108. # USB floppy drives
  109. #
  110. ATTRS{bInterfaceClass}=="08", ATTRS{bInterfaceSubClass}=="04", ENV{ID_DRIVE_FLOPPY}="1"
  111.  
  112. # ATA Zip drives
  113. #
  114. ENV{ID_VENDOR}=="*IOMEGA*", ENV{ID_MODEL}=="*ZIP*", ENV{ID_DRIVE_FLOPPY_ZIP}="1"
  115.  
  116. ##############################################################################################################
  117.  
  118. # Partitions which desktops should not display
  119. #
  120.  
  121. # Apple Bootstrap partitions
  122. ENV{DKD_PARTITION_SCHEME}=="apm", ENV{DKD_PARTITION_TYPE}=="Apple_Bootstrap", ENV{DKD_PRESENTATION_HIDE}="1"
  123.  
  124. # special MBR partition types (EFI, hidden, etc.)
  125. # see http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
  126. ENV{DKD_PARTITION_SCHEME}=="mbr", \
  127.   ENV{DKD_PARTITION_TYPE}=="0x00|0x11|0x14|0x16|0x17|0x1b|0x1c|0x1e|0x27|0x3d|0x84|0x8d|0x90|0x91|0x92|0x93|0x97|0x98|0x9a|0x9b|0xbb|0xc2|0xc3|0xdd|0xef", \
  128.   ENV{DKD_PRESENTATION_HIDE}="1"
  129.  
  130. # special GUID-identified partition types
  131. # see http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
  132. ENV{DKD_PARTITION_SCHEME}=="gpt", \
  133.   ENV{DKD_PARTITION_TYPE}=="C12A7328-F81F-11D2-BA4B-00A0C93EC93B|21686148-6449-6E6F-744E-656564454649", \
  134.   ENV{DKD_PRESENTATION_HIDE}="1"
  135.  
  136. # recovery partitions (taken from old hal rules)
  137. ENV{ID_FS_TYPE}=="ntfs|vfat", \
  138.   ENV{ID_FS_LABEL}=="RECOVERY|HP_RECOVERY|Recovery Partition|DellUtility|DellRestore|IBM_SERVICE|SERVICEV001|SERVICEV002", \
  139.   ENV{DKD_PRESENTATION_HIDE}="1"
  140.  
  141. ENV{DKD_DM_NAME}=="*_mimage_0|*_mimage_1|*_mlog", ENV{DKD_PRESENTATION_HIDE}="1"
  142.  
  143. ##############################################################################################################
  144.  
  145. # Mark devices that shouldn't be automounted / autoassembled etc.
  146. #
  147. # Deny all, then punch holes for what looks like physical drives
  148. # (TODO: this heuristic might need some work)
  149. #
  150.  
  151. ENV{DKD_PRESENTATION_NOPOLICY}="1"
  152. KERNEL=="sd*|hd*|sr*|mmcblk*|mspblk*", ENV{DKD_PRESENTATION_NOPOLICY}="0"
  153.  
  154. ##############################################################################################################
  155.  
  156. LABEL="devkit_disks_end"
  157.